/*
 * Tencent is pleased to support the open source community by making
 * Hippy available.
 *
 * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company.
 * All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

const nodeStyleMap = new Map();

/**
 * setCacheNodeStyle - cache node style
 * @param {number} nodeId
 * @param style
 */
function setCacheNodeStyle(nodeId: number, style) {
  nodeStyleMap.set(nodeId, style);
}

/**
 * deleteCacheNodeStyle - delete ViewNode from cache
 * @param {number} nodeId
 */
function deleteCacheNodeStyle(nodeId: number) {
  nodeStyleMap.delete(nodeId);
}

/**
 * getNodeById - get ViewNode by nodeId
 * @param {number} nodeId
 */
function getCacheNodeStyle(nodeId: number) {
  return nodeStyleMap.get(nodeId) || {};
}

function clearCacheNodeStyle() {
  nodeStyleMap.clear();
}

export {
  setCacheNodeStyle,
  deleteCacheNodeStyle,
  getCacheNodeStyle,
  clearCacheNodeStyle,
};
